import { defHttp, jsonHttp } from '@/utils/http/axios';
import { RolePageListGetResultModel, RoleListGetResultModel } from '../demo/model/systemModel';
import { BasicListResult, BasicDataResult } from '../model/baseModel';

enum Api {
  ywDeptList = '/hl/heng/manage/dept/ywDeptList',
  ywDeptSelectList = '/hl/heng/manage/dept/ywDeptSelectList',
  ywDeptSave = '/hl/heng/manage/dept/ywDeptSave',
  ywDeptDetail = '/hl/heng/manage/dept/ywDeptDetail',
  ywDeptDelete = '/hl/heng/manage/dept/ywDeptDelete',
  ywGroupList = '/hl/heng/manage/dept/ywGroupList',
  ywGroupSelectList = '/hl/heng/manage/dept/ywGroupSelectList',
  ywGroupSave = '/hl/heng/manage/dept/ywGroupSave',
  ywGroupDetail = '/hl/heng/manage/dept/ywGroupDetail',
  ywGroupDelete = '/hl/heng/manage/dept/ywGroupDelete',
  msMoneyAffirmList = '/hl/heng/manage/dept/msMoneyAffirmList',
  commissionConfigList = '/hl/heng/manage/dept/commissionConfigList',
  commissionConfigSave = '/hl/heng/manage/dept/commissionConfigSave',
  commissionConfigDelete = '/hl/heng/manage/dept/commissionConfigDelete',
  ywUserSelectList = '/hl/heng/manage/dept/ywUserSelectList',

  accountOutoRateList = '/hl/heng/manage/dept/accountOutoRateList',
  accountOutoRateSave = '/hl/heng/manage/dept/accountOutoRateSave',
  accountOutoRateDelete = '/hl/heng/manage/dept/accountOutoRateDelete',
  refetch = '/hl/heng/manage/dept/refetch',
  moneyAffrimLogList = '/hl/heng/manage/dept/moneyAffrimLogList',

  ywApproveList = '/hl/heng/manage/dept/ywApproveList',

  approveCreateBefore = '/hl/heng/manage/dept/approveCreateBefore',
  approveSubmit = '/hl/heng/manage/dept/approveSubmit',
  approveBack = '/hl/heng/manage/dept/approveCancel',

  deptMainRateList = '/hl/heng/manage/dept/deptMainRateList',
  deptMainRateSave = '/hl/heng/manage/dept/deptMainRateSave',
  deptMainRateDelete = '/hl/heng/manage/dept/deptMainRateDelete',

  deptNextRateList = '/hl/heng/manage/dept/deptNextRateList',
  deptNextRateSave = '/hl/heng/manage/dept/deptNextRateSave',
  deptNextRateDelete = '/hl/heng/manage/dept/deptNextRateDelete',

  sellClientSelectList = '/hl/heng/manage/dept/sellClientSelectList',

  dklMoneyAffirmPageList = '/hl/heng/manage/dept/dklMoneyAffirmPageList',

  approvalHistory = '/hl/heng/manage/dept/approvalHistory',
  xftList = '/hl/heng/manage/dept/xftList',
  shouKuanQueRenItemList = '/hl/heng/manage/dept/shouKuanQueRenItemList',
  shouKuanQueRenItemAllList = '/hl/heng/manage/dept/shouKuanQueRenItemAllList',

  yuShouDetail = '/hl/heng/manage/dept/yuShouDetail',

  syncMoneyTable = '/hl/heng/manage/dept/syncMoneyTable',

  countMoneyAffirm = '/hl/heng/manage/dept/countMoneyAffirm',

  exportMoneyChild = '/hl/heng/manage/dept/exportMoneyChild',

  addExcludeAffirmLog = '/hl/heng/manage/dept/addExcludeAffirmLog',

  addExcludeZhongBuLog = 'hl/heng/manage/dept/addExcludeZhongBuLog',
  getExcludeAffirmList = '/hl/heng/manage/dept/getExcludeAffirmList',
  removeExcludeAffirmLog = '/hl/heng/manage/dept/removeExcludeAffirmLog',

  getOrderNoStorageList = '/hl/heng/manage/dept/getOrderNoStorageList',
  outbillStorageList='/hl/sys/ms/stock/outbillStorageList',
  saveOrderNoStorage = '/hl/heng/manage/dept/saveOrderNoStorage',
  removeOrderNoStorage = '/hl/heng/manage/dept/removeOrderNoStorage',
  approveAbolish = '/hl/heng/manage/dept/approveAbolish',
  getCountDeptTotalLog = '/hl/heng/manage/dept/getCountDeptTotalLog',

  introduceUserList = '/hl/heng/manage/dept/introduceUserList',
  introduceUserSave = '/hl/heng/manage/dept/introduceUserSave',
  introduceUserDelete = '/hl/heng/manage/dept/introduceUserDelete',

  getTimingMap = '/hl/heng/manage/dept/getTimingMap',

  trialLogList = '/hl/heng/manage/dept/trialLogList',

  trialLogRead = '/hl/heng/manage/dept/trialLogRead',

  batchExcludeFapiaoAdd = '/hl/heng/manage/dept/batchExcludeFapiaoAdd',
  batchExcludeFapiaoRemove = '/hl/heng/manage/dept/batchExcludeFapiaoRemove',
  getExcludeFapiaoList = '/hl/heng/manage/dept/getExcludeFapiaoList',
  oneExcludeFapiaoRemove = '/hl/heng/manage/dept/oneExcludeFapiaoRemove',

  qiChuItemOne='/hl/heng/manage/dept/qiChuItemOne',
  qiChuItemList='/hl/heng/manage/dept/qiChuItemList',

  tablePassAffirmList='/hl/heng/manage/dept/tablePassAffirmList',
}

/**
 * @description: Get sample options value
 */
export const ywDeptList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywDeptList, params });

export const ywDeptSelectList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywDeptSelectList, params });

export const ywDeptSave = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywDeptSave, params });

export const ywDeptDetail = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywDeptDetail, params });
export const ywDeptDelete = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywDeptDelete, params });
export const ywGroupList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywGroupList, params });

/**
 * 获取业务组列表
 * @param params 查询参数
 * @returns {Promise<RolePageListGetResultModel[]>} 返回业务组列表数据
 */
export const ywGroupSelectList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywGroupSelectList, params });

export const ywGroupSave = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywGroupSave, params });

export const ywGroupDetail = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywGroupDetail, params });
export const ywGroupDelete = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywGroupDelete, params });
export const msMoneyAffirmList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.msMoneyAffirmList, params });

export const commissionConfigList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.commissionConfigList, params });

export const commissionConfigSave = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.commissionConfigSave, params });

export const commissionConfigDelete = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.commissionConfigDelete, params });

export const ywUserSelectList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywUserSelectList, params });

export const accountOutoRateList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.accountOutoRateList, params });
export const accountOutoRateSave = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.accountOutoRateSave, params });
export const accountOutoRateDelete = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.accountOutoRateDelete, params });

export const refetch = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.refetch, params });

export const moneyAffrimLogList = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.moneyAffrimLogList, params });

export const approveCreateBefore = (params?: any) =>
  jsonHttp.post<BasicDataResult[]>({ url: Api.approveCreateBefore, params });

export const approveSubmit = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.approveSubmit, params });

export const approveBack = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.approveBack, params });

export const ywApproveList = (params?: any) =>
  defHttp.post<RolePageListGetResultModel[]>({ url: Api.ywApproveList, params });

export const deptMainRateList = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptMainRateList, params });
export const deptMainRateSave = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptMainRateSave, params });
export const deptMainRateDelete = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptMainRateDelete, params });
export const deptNextRateList = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptNextRateList, params });
export const deptNextRateSave = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptNextRateSave, params });
export const deptNextRateDelete = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.deptNextRateDelete, params });

export const sellClientSelectList = (params?: any) =>
  defHttp.post<BasicDataResult[]>({ url: Api.sellClientSelectList, params });

export const dklMoneyAffirmPageList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.dklMoneyAffirmPageList, params });

export const approvalHistory = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.approvalHistory, params });

export const xftList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.xftList, params });

export const shouKuanQueRenItemList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.shouKuanQueRenItemList, params });

export const shouKuanQueRenItemAllList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.shouKuanQueRenItemAllList, params });

export const yuShouDetail = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.yuShouDetail, params });
export const syncMoneyTable = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.syncMoneyTable, params });
export const countMoneyAffirm = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.countMoneyAffirm, params });
export const exportMoneyChild = (params?: any) =>
  jsonHttp.post<BasicListResult<any>>({ url: Api.exportMoneyChild, params });
export const addExcludeAffirmLog = (params?: any) =>
  jsonHttp.post<BasicListResult<any>>({ url: Api.addExcludeAffirmLog, params });

export const addExcludeZhongBuLog = (params?: any) =>
  jsonHttp.post<BasicListResult<any>>({ url: Api.addExcludeZhongBuLog, params });

export const getExcludeAffirmList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.getExcludeAffirmList, params });
export const removeExcludeAffirmLog = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.removeExcludeAffirmLog, params });
export const getOrderNoStorageList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.getOrderNoStorageList, params });

export const outbillStorageList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.outbillStorageList, params });

export const saveOrderNoStorage = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.saveOrderNoStorage, params });
export const removeOrderNoStorage = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.removeOrderNoStorage, params });

export const approveAbolish = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.approveAbolish, params });
export const getCountDeptTotalLog = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.getCountDeptTotalLog, params });

export const introduceUserList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.introduceUserList, params });
export const introduceUserSave = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.introduceUserSave, params });
export const introduceUserDelete = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.introduceUserDelete, params });

export const getTimingMap = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.getTimingMap, params });

export const trialLogList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.trialLogList, params });

export const trialLogRead = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.trialLogRead, params });

export const batchExcludeFapiaoAdd = (params?: any) =>
  jsonHttp.post<BasicListResult<any>>({ url: Api.batchExcludeFapiaoAdd, params });

export const batchExcludeFapiaoRemove = (params?: any) =>
  jsonHttp.post<BasicListResult<any>>({ url: Api.batchExcludeFapiaoRemove, params });
export const getExcludeFapiaoList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.getExcludeFapiaoList, params });

export const oneExcludeFapiaoRemove = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.oneExcludeFapiaoRemove, params });

export const qiChuItemOne = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.qiChuItemOne, params });


export const qiChuItemList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.qiChuItemList, params });

export const tablePassAffirmList = (params?: any) =>
  defHttp.post<BasicListResult<any>>({ url: Api.tablePassAffirmList, params });
